package view;

import java.awt.Point;

import javax.swing.ImageIcon;
import javax.swing.JButton;

import model.PieceType;

/**
 * Botão que representa cada casa do tabuleiro.
 * 
 * Cada SlotButton é uma casa do tabuleiro. Tem suas coordenadas X e Y,
 * representando a linha e coluna dessa casa no tabuleiro. Uma vez criados, cada
 * botão tem a capacidade de lhe informar qual a posição dele no tabuleiro.
 */
public class SlotButton extends JButton {
	
	private static final long serialVersionUID = -4620850291011314864L;
	private static final String IMG_NONE = "img/none.png";
	private static final String IMG_RED = "img/red.png";
	private static final String IMG_BLUE = "img/blue.png";
	
	/**
	 * Posição desse botão no tabuleiro.
	 */
	private Point position;
	
	/**
	 * Constrói um botão para ser colocado em uma posição específica do
	 * tabuleiro.
	 */
	public SlotButton(int x, int y) {
		this.position = new Point(x, y);
		setIcon(new ImageIcon(IMG_NONE));
	}
	
	/**
	 * Determina qual a peça está nessa casa, portanto, qual imagem deve
	 * aparecer nesse botão.
	 */
	public void setType(PieceType type) {
		if (type.equals(PieceType.PLAYER1)) {
			setIcon(new ImageIcon(IMG_RED));
		} else if (type.equals(PieceType.PLAYER2)) {
			setIcon(new ImageIcon(IMG_BLUE));
		} else {
			setIcon(new ImageIcon(IMG_NONE));
		}
	}
	
	/**
	 * Pergunta qual a posição dessa casa no tabuleiro.
	 */
	public Point getPosition() {
		return position;
	}

}
